Тег <SCRIPT> служит для задания програмного сценария и определяет фрагент HTML - документа, в котором сценарий содержится. Данный тег подрузумевает наличие тега </SCRIPT> и имеет два основных атрибута. Первый - LANGUAGE - позволяет задать язык сценария. Таким образом, если используется VBScript, следует указать строку вида:
Вместо "VBScript" можно использовать краткую запись "VBS". Атрибут
LANGUAGE является необязательным, однако если он не указан, Microsoft Internet Explorer
использует по умолчанию язык сценариев JavaScript.
Другим важным атрибутом является RUNAT. Он позволяет задать место исполнения сценария.
Если этот атрибут не будет указан, подрузумевается выполнение сценария в броузере.
Для обработки на стороне сервера следует указать строку вида:
Размещение сценария в HTML - документе имеет несколько антернативных решений. Наиболее часто его программный код расположен между тегами <HEAD> и < /HEAD>. При этом сценарий выглядит как в листинге 1, приведенном ниже.
Листинг 1. Расположение кода сценария в теговой паре <HEAD>,</HEAD>
Также код сценария может быть размещен в пределах теговой пары <BODY>,</BODY>. Число комбинаций тегов <SCRIPT>,</SCRIPT> может чередовать HTML - код с програмным кодом сценария, как показано в листинге 2.
Листинг 2. Чередование программного кода VBScript с кодом HTML
Cуществует рекомедация размещать текст сценария в тегах <!-- и -->(см. листинг 3.). Это позволяет избежать отображения кода в окнах броузераов, не поддерживающих тег <SCRIPT>.
Листинг 3. Использование тегов пары <!--,-->
Однако на практике можно не обременять сценарий тегами <!-- и
-->, поскольку броузеры Netscape Navigator и Microsoft Internet Explorer, составляющее
большинство среди используемых броузеров, благополучно рапознают тег <SCRIPT>.
Существует несколько способов вызова сценария. Наиболее используемый и характерный для
Visual Basic основывается на объявлении процедуры, имя которого состоит из имени элемента
управления и названия события, обрабатываемого процедурой, раздененных символом подчеркивания.
Данная процедура будет запускаться всякий раз при генерировании указанным объектом
заданного события.
Использование этого способа вызова сценария продемонстрировано в листинге 1. Название
"button" - кнопки - TestB составляет первую часть имени процедуры TestB_OnClick, а
вторая часть имени состоит из названия события - OnClick, генерирующего при нажатии
на эту кнопку. Описанная таким образом процедура будет выполняться всякий раз при нажатии
пользователем кнопки.
Существует еще один сходный вариант вызова. При помощи атрибута FOR тега <SCRIPR>
можно задать элемент управления, обработчик события которого располагается непосредственно
под тегом <SCRIPR>, а само событие объявляется атрибутом EVENT, как показано в
листинге 4.
Листинг 4. Использование атрибутов FOR и EVENT тега <SCRIPR>
Этот способ применим для описания обработчика какого-либо одного
события конкретного объекта. Из листинга видно, что описание процедуры при помощи
Sub и End Sub не требуется.
Помимо описанных способов можно вызывать сценарии непосредственно из описания HTML
- элемента. Такой способ обращения к обработчику очень удобен, если процедуру надо
вызывать для нескольких разных объектов. Примерный текст описания HTML - элемента
в этом случае будет иметь следующий вид:
В листинге 5 продемонстрирован вызов процедуры TestEvent при нажатии кнопки Test1 или Test2.
Листинг 5. Вызов сценария из описания HTML - элемента
Практически всегда для удобства использования програмный код оформляется в виде процедур. Тем не менее, существует возможность включать код на уровне сценария. Для этого его следует разместить просто после тега <SCRIPT>, чтобы он выполняется автоматически после первой загрузки(листинг 6).
Листинг 6. Вызов сценария из описания HTML - элемента
В приведенном ниже листинге не используются описания процедур. Две
строки кода VBScript будут выполнены автоматически сразу после загрузки страницы.
Прежде чем приступить непосредственно к расмотрению языка следует отметить, что
VBScript позволяет использовать оба регистра символов, не различая их. Это относится
ко всем элементам сценария.
Коментарии следует вставлять в код либо при помощи апострофа, либо посредством
оператора REM, как показано ниже.
Перед REM следует ставить символ ":". Если коментарий относится к сценариям, вписанным непосредственно в тег <INPUT>, то апостроф использовать не следует.